package com.crowd.service.impl;

import com.crowd.entity.Menu;
import com.crowd.entity.MenuExample;
import com.crowd.mapper.MenuMapper;
import com.crowd.service.api.IMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author Stone
 * @date 2020/5/21 13:44
 */
@Service
public class MenuServiceImpl implements IMenuService {
    @Autowired
    private MenuMapper menuMapper;

    /**
     * @Author:Stone

       * @return: java.util.List<com.crowd.entity.Menu>
     * @Date: 2020/5/21 13:46
     * @Description:查找所有menu数据
    */
    @Override
    public List<Menu> getAll() {
        MenuExample menuExample = new MenuExample();
        return menuMapper.selectByExample(menuExample);
    }

    /**
     * @Author:Stone

       * @return: void
     * @Date: 2020/5/22 17:15
     * @Description:保存数据
    */
    @Override
    public void saveMenu(Menu menu) {
        menuMapper.insert(menu);
    }

    /**
     * @Author:Stone
       * @Param menu:
       * @return: void
     * @Date: 2020/5/22 17:53
     * @Description:更新数据
    */
    @Override
    public void updateMenu(Menu menu) {
        // 由于pid 没有传入，一定要使用有选择的更新，保证“pid”字段不会被置空
        // updateByPrimaryKeySelective,这个方法是传什么字段更新什么字段，没传的，加入更新字段
        menuMapper.updateByPrimaryKeySelective(menu);
    }

    /**
     * @Author:Stone
       * @Param menuId:
       * @return: void
     * @Date: 2020/5/22 18:22
     * @Description:根据id删除数据
    */
    @Override
    public void removeMenu(Integer menuId) {
        menuMapper.deleteByPrimaryKey(menuId);
    }
}
